        -:    0:Source:/usr/include/c++/9/bits/exception.h
        -:    1:// Exception Handling support header for -*- C++ -*-
        -:    2:
        -:    3:// Copyright (C) 2016-2019 Free Software Foundation, Inc.
        -:    4://
        -:    5:// This file is part of GCC.
        -:    6://
        -:    7:// GCC is free software; you can redistribute it and/or modify
        -:    8:// it under the terms of the GNU General Public License as published by
        -:    9:// the Free Software Foundation; either version 3, or (at your option)
        -:   10:// any later version.
        -:   11://
        -:   12:// GCC is distributed in the hope that it will be useful,
        -:   13:// but WITHOUT ANY WARRANTY; without even the implied warranty of
        -:   14:// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        -:   15:// GNU General Public License for more details.
        -:   16://
        -:   17:// Under Section 7 of GPL version 3, you are granted additional
        -:   18:// permissions described in the GCC Runtime Library Exception, version
        -:   19:// 3.1, as published by the Free Software Foundation.
        -:   20:
        -:   21:// You should have received a copy of the GNU General Public License and
        -:   22:// a copy of the GCC Runtime Library Exception along with this program;
        -:   23:// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
        -:   24:// <http://www.gnu.org/licenses/>.
        -:   25:
        -:   26:/** @file bits/exception.h
        -:   27: *  This is an internal header file, included by other library headers.
        -:   28: *  Do not attempt to use it directly.
        -:   29: */
        -:   30:
        -:   31:#ifndef __EXCEPTION_H
        -:   32:#define __EXCEPTION_H 1
        -:   33:
        -:   34:#pragma GCC system_header
        -:   35:
        -:   36:#pragma GCC visibility push(default)
        -:   37:
        -:   38:#include <bits/c++config.h>
        -:   39:
        -:   40:extern "C++" {
        -:   41:
        -:   42:namespace std
        -:   43:{
        -:   44:  /**
        -:   45:   * @defgroup exceptions Exceptions
        -:   46:   * @ingroup diagnostics
        -:   47:   *
        -:   48:   * Classes and functions for reporting errors via exception classes.
        -:   49:   * @{
        -:   50:   */
        -:   51:
        -:   52:  /**
        -:   53:   *  @brief Base class for all library exceptions.
        -:   54:   *
        -:   55:   *  This is the base class for all exceptions thrown by the standard
        -:   56:   *  library, and by certain language expressions.  You are free to derive
        -:   57:   *  your own %exception classes, or use a different hierarchy, or to
        -:   58:   *  throw non-class data (e.g., fundamental types).
        -:   59:   */
        -:   60:  class exception
        -:   61:  {
        -:   62:  public:
    #####:   63:    exception() _GLIBCXX_NOTHROW { }
------------------
_ZNSt9exceptionC2Ev:
    #####:   63:    exception() _GLIBCXX_NOTHROW { }
------------------
_ZNSt9exceptionC2Ev:
    #####:   63:    exception() _GLIBCXX_NOTHROW { }
------------------
        -:   64:    virtual ~exception() _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_NOTHROW;
        -:   65:#if __cplusplus >= 201103L
        -:   66:    exception(const exception&) = default;
        -:   67:    exception& operator=(const exception&) = default;
        -:   68:    exception(exception&&) = default;
        -:   69:    exception& operator=(exception&&) = default;
        -:   70:#endif
        -:   71:
        -:   72:    /** Returns a C-style character string describing the general cause
        -:   73:     *  of the current error.  */
        -:   74:    virtual const char*
        -:   75:    what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_NOTHROW;
        -:   76:  };
        -:   77:
        -:   78:} // namespace std
        -:   79:
        -:   80:}
        -:   81:
        -:   82:#pragma GCC visibility pop
        -:   83:
        -:   84:#endif
